package cn.teawooo.tree.string;

import cn.teawooo.tree.AbstractTree;
import cn.teawooo.tree.TreeIterator;

/**
 * 功能描述：String树
 * @author teawooo <long1795@gmail.com>
 * @time 2013年8月26日 下午2:43:11
 */
public class StringTree extends AbstractTree<StringNode> {
    /**
     * 默认构建
     */
    public StringTree() {
    }

    /**
     * 指定根构建
     * @param root 根
     */
    public StringTree(StringNode root) {
        super(root);
    }

    @Override
    protected TreeIterator<StringNode> getDefaultIterator() {
        return new TreeIterator<StringNode>() {
            @Override
            public void doIterateImpl(StringNode node, int currLevel) {
                StringBuffer log = new StringBuffer();
                for (int i = 0; i++ < currLevel;) {
                    log.append("-");
                }
                log.append(node.getName()).append("=").append(node.getData());
                logger.info(log.toString());
            }
        };
    }

}
